<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 钉钉同步用户表
 * Class UserDd
 *
 * @since 2.0
 *
 * @Entity(table="user_dd")
 */
class UserDd extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $uid;

    /**
     * 钉钉userid
     *
     * @Column()
     *
     * @var string
     */
    private $userid;

    /**
     * 是否老板
     *
     * @Column()
     *
     * @var int|null
     */
    private $isboss;

    /**
     * 雇佣时间
     *
     * @Column()
     *
     * @var string|null
     */
    private $hireddate;

    /**
     * 部门id
     *
     * @Column()
     *
     * @var int
     */
    private $department;

    /**
     * 排序
     *
     * @Column()
     *
     * @var string
     */
    private $order;

    /**
     * 是否为主管
     *
     * @Column()
     *
     * @var int
     */
    private $isleader;

    /**
     * 状态是否正常
     *
     * @Column()
     *
     * @var int
     */
    private $active;

    /**
     * 是否为管理
     *
     * @Column()
     *
     * @var int
     */
    private $isadmin;

    /**
     * 头像
     *
     * @Column()
     *
     * @var string|null
     */
    private $avatar;

    /**
     * 是否隐藏
     *
     * @Column()
     *
     * @var int|null
     */
    private $ishide;

    /**
     * 员工工号
     *
     * @Column()
     *
     * @var string|null
     */
    private $jobnumber;

    /**
     * 名称
     *
     * @Column()
     *
     * @var string
     */
    private $name;

    /**
     * 级别
     *
     * @Column()
     *
     * @var string
     */
    private $position;

    /**
     * 统一unionid
     *
     * @Column()
     *
     * @var string
     */
    private $unionid;

    /**
     * 用户类型1招商2推广3运营4设计5研发6客满7财务8人力9市场10总经办
     *
     * @Column()
     *
     * @var int|null
     */
    private $usertype;

    /**
     * 真实姓名
     *
     * @Column()
     *
     * @var string|null
     */
    private $truename;


    /**
     * @param int $uid
     *
     * @return self
     */
    public function setUid(int $uid): self
    {
        $this->uid = $uid;

        return $this;
    }

    /**
     * @param string $userid
     *
     * @return self
     */
    public function setUserid(string $userid): self
    {
        $this->userid = $userid;

        return $this;
    }

    /**
     * @param int|null $isboss
     *
     * @return self
     */
    public function setIsboss(?int $isboss): self
    {
        $this->isboss = $isboss;

        return $this;
    }

    /**
     * @param string|null $hireddate
     *
     * @return self
     */
    public function setHireddate(?string $hireddate): self
    {
        $this->hireddate = $hireddate;

        return $this;
    }

    /**
     * @param int $department
     *
     * @return self
     */
    public function setDepartment(int $department): self
    {
        $this->department = $department;

        return $this;
    }

    /**
     * @param string $order
     *
     * @return self
     */
    public function setOrder(string $order): self
    {
        $this->order = $order;

        return $this;
    }

    /**
     * @param int $isleader
     *
     * @return self
     */
    public function setIsleader(int $isleader): self
    {
        $this->isleader = $isleader;

        return $this;
    }

    /**
     * @param int $active
     *
     * @return self
     */
    public function setActive(int $active): self
    {
        $this->active = $active;

        return $this;
    }

    /**
     * @param int $isadmin
     *
     * @return self
     */
    public function setIsadmin(int $isadmin): self
    {
        $this->isadmin = $isadmin;

        return $this;
    }

    /**
     * @param string|null $avatar
     *
     * @return self
     */
    public function setAvatar(?string $avatar): self
    {
        $this->avatar = $avatar;

        return $this;
    }

    /**
     * @param int|null $ishide
     *
     * @return self
     */
    public function setIshide(?int $ishide): self
    {
        $this->ishide = $ishide;

        return $this;
    }

    /**
     * @param string|null $jobnumber
     *
     * @return self
     */
    public function setJobnumber(?string $jobnumber): self
    {
        $this->jobnumber = $jobnumber;

        return $this;
    }

    /**
     * @param string $name
     *
     * @return self
     */
    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    /**
     * @param string $position
     *
     * @return self
     */
    public function setPosition(string $position): self
    {
        $this->position = $position;

        return $this;
    }

    /**
     * @param string $unionid
     *
     * @return self
     */
    public function setUnionid(string $unionid): self
    {
        $this->unionid = $unionid;

        return $this;
    }

    /**
     * @param int|null $usertype
     *
     * @return self
     */
    public function setUsertype(?int $usertype): self
    {
        $this->usertype = $usertype;

        return $this;
    }

    /**
     * @param string|null $truename
     *
     * @return self
     */
    public function setTruename(?string $truename): self
    {
        $this->truename = $truename;

        return $this;
    }

    /**
     * @return int
     */
    public function getUid(): ?int
    {
        return $this->uid;
    }

    /**
     * @return string
     */
    public function getUserid(): ?string
    {
        return $this->userid;
    }

    /**
     * @return int|null
     */
    public function getIsboss(): ?int
    {
        return $this->isboss;
    }

    /**
     * @return string|null
     */
    public function getHireddate(): ?string
    {
        return $this->hireddate;
    }

    /**
     * @return int
     */
    public function getDepartment(): ?int
    {
        return $this->department;
    }

    /**
     * @return string
     */
    public function getOrder(): ?string
    {
        return $this->order;
    }

    /**
     * @return int
     */
    public function getIsleader(): ?int
    {
        return $this->isleader;
    }

    /**
     * @return int
     */
    public function getActive(): ?int
    {
        return $this->active;
    }

    /**
     * @return int
     */
    public function getIsadmin(): ?int
    {
        return $this->isadmin;
    }

    /**
     * @return string|null
     */
    public function getAvatar(): ?string
    {
        return $this->avatar;
    }

    /**
     * @return int|null
     */
    public function getIshide(): ?int
    {
        return $this->ishide;
    }

    /**
     * @return string|null
     */
    public function getJobnumber(): ?string
    {
        return $this->jobnumber;
    }

    /**
     * @return string
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * @return string
     */
    public function getPosition(): ?string
    {
        return $this->position;
    }

    /**
     * @return string
     */
    public function getUnionid(): ?string
    {
        return $this->unionid;
    }

    /**
     * @return int|null
     */
    public function getUsertype(): ?int
    {
        return $this->usertype;
    }

    /**
     * @return string|null
     */
    public function getTruename(): ?string
    {
        return $this->truename;
    }

}
